Rijndael is collection of block ciphers used for cryptography applications, and three of the Rijndael block ciphers (also referred to as Rijndael algorithms) were adopted as algorithms for use in Advanced Encryption Standard (AES), which is a symmetric-key encryption standard that was ratified by the National Institute of Standards and Technology (NIST) as United States (U.S.) Federal Information Processing Standard PUB 197 (FIPS 197) on Nov. 26, 2001, and adopted by the U.S. government as a Federal government standard on May 26, 2002. All Rijndael block ciphers receive as inputs a symmetric key (also referred to as a secret key, a cipher key, a cryptographic key, an encryption key, or a decryption key) and plain text or cipher text and implement a cryptographic procedure that uses four basic transforms or transformations (also referred to herein as steps) to convert plain text to cipher text and vice versa and/or for message authentication. The four basic steps are a SubBytes step, a ShiftRows step, a MixColumns step, and an AddRoundKey step.
Due to the AES, at least some variants of Rijndael have been widely accepted for performing cryptographic functions, for instance, for messages containing voice or other media. Nonetheless, certain users of cryptography algorithms require that, in addition to unique secret key variables, there must also be a unique secret component to the design of the algorithm itself. It is known to meet this need by the creation of new secret algorithms, but the logistics of creating and testing such algorithms on third-party equipment complicates this process.
Thus, there exists a need for customizing a cryptographic algorithm and in particular for customizing a Rijndael block cipher.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help improve understanding of various embodiments. In addition, the description and drawings do not necessarily require the order illustrated. It will be further appreciated that certain actions and/or steps may be described or depicted in a particular order of occurrence while those skilled in the art will understand that such specificity with respect to sequence is not actually required. Apparatus and method components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the various embodiments so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein. Thus, it will be appreciated that for simplicity and clarity of illustration, common and well-understood elements that are useful or necessary in a commercially feasible embodiment may not be depicted in order to facilitate a less obstructed view of these various embodiments.